/**
 * Copyright Spectra, Inc. All Rights Reserved.
 */
package spectra.ee.web.qna.service;

import java.net.URLDecoder;
import java.util.Hashtable;

import spectra.base.BaseConfig;
import spectra.base.BasePublic;
import spectra.base.ajax.TransAjax;
import spectra.base.web.WebUtil;

/**
 * 고객 질문을 배분하는 RuleCaller 클래스
 * 
 * @author kwlee
 *
 */
public class RuleCaller
{
    /**
     * 입력된 고객 질문을 룰엔진에 태우는 메소드.
     * 스펨체크룰, 질문접수룰, 라우팅룰을 차례로 타게된다.
     *
     * @return 룰이 정상적으로 호출된 경우 true, 아니면 false.
     */
    public static boolean callQnaRouteRule()
    {
        try
        {
            String strUrl = BaseConfig.getString("URL_WEBAPPS") + "/rule/ruleRunnerBySchedule.ex?ruleCommand=RULE_COMMAND_ROUTE_QNA";
            String strResult = WebUtil.getResponseContent(strUrl, "POST", 3*1000);

            TransAjax ta = TransAjax.reverseTransform(URLDecoder.decode(strResult),TransAjax.RETURN_TYPE_AJAX_JSON);
            Hashtable ht =  ta.get();
            String strResultByRule = (String) ht.get(BasePublic.RESULT_STRING);

            if(strResultByRule != null && strResultByRule.equals(BasePublic.SUCCESS_STRING))
            {
                return true;
            }
        }
        catch (Exception e)
        {
        }

        return false;
    }
}